package com.syqc.custom

import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import androidx.recyclerview.widget.RecyclerView

/**
 *@Author Jasper
 *@Time   2020/12/10
 *@Desc   图片列表
 */
class PhotoRecyclerView : RecyclerView {
    // 是否锁住 RecyclerView ，避免和 PhotoView 双指放大缩小操作冲突
    private var isLook = false

    constructor(context: Context) : super(context)
    constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
    constructor(context: Context, attrs: AttributeSet?, defStyle: Int) : super(
        context,
        attrs,
        defStyle
    )

    override fun onInterceptTouchEvent(e: MotionEvent?): Boolean {
        when (e?.actionMasked) {
            // 非第一个触点按下
            MotionEvent.ACTION_POINTER_DOWN -> isLook = true
            // 最后一个触点抬起
            MotionEvent.ACTION_UP -> isLook = false
        }
        // 不拦截，交给子View处理
        if (isLook) return false
        return super.onInterceptTouchEvent(e)
    }

    override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
        when (ev?.actionMasked) {
            // 非第一个触点按下
            MotionEvent.ACTION_POINTER_DOWN -> isLook = true
            // 最后一个触点抬起
            MotionEvent.ACTION_UP -> isLook = false
        }
        return super.dispatchTouchEvent(ev)
    }
}